Advances in software programming and computing technology have made increasingly sophisticated and feature-rich software applications available to consumers and businesses alike. These powerful software applications provide an expanding list of benefits, including improved accuracy, efficiency, and convenience for numerous tasks performed on a regular basis. Industry indicators predict this trend is likely to continue and may even accelerate in the years ahead.
However, as software applications become more sophisticated, their installation becomes correspondingly more complicated. This is particularly true where multiple software applications are used in conjunction with one another, such as Web hosting applications and database applications. As a result, the normal installation process of one application must often be modified to accommodate the other application. For example, the database application may need to be installed as a part of the installation of the Web hosting application, and so forth. Thus, a certain amount of installation logic or customization must often be applied to the installation of the first application.
Because of the foregoing, most companies retain a team of highly-skilled technical support personnel dedicated to setting up and installing software applications. The technical support personnel usually install and configure the software applications manually from one or more portable media, such as floppy disks or CD-ROMs. These portable media contain installation packages that include the files needed to run the software applications on the target computing system. An installation utility is usually provided with each installation package that extracts, copies, and configures the installation files to one or more predefined directories on the target computing system.
But manual installation can be tedious and time-consuming, especially for a company with hundreds or possibly thousands of computers. Attempts to automate the software installation process, however, have met with only limited success. For one thing, the same software application may require a different installation package for each computing platform, such as Windows, UNIX (Linux and AIX), and the like. And depending on the intended use of the target computers, each target computer may have different operating parameters, network configurations, and other settings. In addition, commercial configuration tools that are capable of automatically installing a software application typically need to copy the entire installation package to the target computer, thus severely impacting the storage space on the target computer. Finally, existing configuration tools do not provide a way to reuse any of the installation logic or customization that may have been developed.
Accordingly, what is needed is a more efficient way to install software applications. More specifically, what is needed is a way to automatically install software applications on multiple target computers with different computing platforms from a central location.